import scipy.stats as stats
import numpy as np

# 1、未知总体标准差，已知样本标准差求期望
u = 3.5
# 原假设H0>=3.5
# 备选假设H1<3.5
mean = 3  # 样本均值
s = 1.5  # 样本标准差
std = 0  # 总体标准差未知
n = 40  # 样本量
alpha = 0.05
sem = s / np.sqrt(n)  # 样本标准差变样本平均值标准差
t = (mean - u) / sem  # 统计量
t_score = stats.t.isf(alpha, df=n - 1)  # t分布（类正态分布）
if np.abs(t) - t_score >= 0:  # 处于t分布中的位置
    print("拒绝假设，不认为这种减肥方法有效")
else:
    print("接受假设，认为这种减肥方法有效")
